home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / CIIGSIncludes / Event.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-03  |  4.8 KB  |  134 lines  |  [TEXT/MPS ]

  1. /********************************************
  2. ; File: Event.h
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc.1986-90
  6. ; All Rights Reserved
  7. ;
  8. ********************************************/
  9. #ifndef __TYPES__
  10. #include <TYPES.h>
  11. #endif
  12.  
  13. #ifndef __MISCTOOL__
  14. #include <MISCTOOL.h>
  15. #endif
  16.  
  17. #ifndef __EVENT__
  18. #define __EVENT__
  19.  
  20.  
  21. /* Error Codes */
  22. #define emDupStrtUpErr 0x0601  /* duplicate EMStartup Call */
  23. #define emResetErr 0x0602  /* can't reset error the Event Manager */
  24. #define emNotActErr 0x0603  /* event manager not active */
  25. #define emBadEvtCodeErr 0x0604  /* illegal event code */
  26. #define emBadBttnNoErr 0x0605  /* illegal button number */
  27. #define emQSiz2LrgErr 0x0606  /* queue size too large */
  28. #define emNoMemQueueErr 0x0607  /* not enough memory for queue */
  29. #define emBadEvtQErr 0x0681  /* fatal sys error - event queue damaged */
  30. #define emBadQHndlErr 0x0682  /* fatal sys error - queue handle damaged */
  31.  
  32. /* Event Codes */
  33. #define nullEvt 0x0000
  34. #define mouseDownEvt 0x0001
  35. #define mouseUpEvt 0x0002
  36. #define keyDownEvt 0x0003
  37. #define autoKeyEvt 0x0005
  38. #define updateEvt 0x0006
  39. #define activateEvt 0x0008
  40. #define switchEvt 0x0009
  41. #define deskAccEvt 0x000A
  42. #define driverEvt 0x000B
  43. #define app1Evt 0x000C
  44. #define app2Evt 0x000D
  45. #define app3Evt 0x000E
  46. #define app4Evt 0x000F
  47.  
  48. /* Event Masks */
  49. #define mDownMask 0x0002
  50. #define mUpMask 0x0004
  51. #define keyDownMask 0x0008
  52. #define autoKeyMask 0x0020
  53. #define updateMask 0x0040
  54. #define activeMask 0x0100
  55. #define switchMask 0x0200
  56. #define deskAccMask 0x0400
  57. #define driverMask 0x0800
  58. #define app1Mask 0x1000
  59. #define app2Mask 0x2000
  60. #define app3Mask 0x4000
  61. #define app4Mask 0x8000
  62. #define everyEvent 0xFFFF
  63.  
  64. /* Journal Codes */
  65. #define jcTickCount 0x00  /* TickCount call */
  66. #define jcGetMouse 0x01  /* GetMouse call */
  67. #define jcButton 0x02  /* Button call */
  68. #define jcEvent 0x04  /* GetNextEvent and EventAvail calls */
  69.  
  70. /* Modifiers Flags */
  71. #define activeFlag 0x0001  /* set if window being activated */
  72. #define changeFlag 0x0002  /* set if active wind. changed state */
  73. #define btn1State 0x0040  /* set if button 1 up */
  74. #define btn0State 0x0080  /* set if button 0 up */
  75. #define appleKey 0x0100  /* set if Apple key down */
  76. #define shiftKey 0x0200  /* set if shift key down */
  77. #define capsLock 0x0400  /* set if caps lock key down */
  78. #define optionKey 0x0800  /* set if option key down */
  79. #define controlKey 0x1000  /* set if Control key down */
  80. #define keyPad 0x2000  /* set if keypress from key pad */
  81.  
  82. /* kTransID */
  83. #define keyboardTransIIGS 0x0000  /* use old-style Apple IIGS mapping */
  84. #define keyboardTransMac 0x00FF  /* use Macintosh mapping */
  85. struct EventRecord {
  86.    Word what; /* event code */
  87.    LongWord message; /* event message */
  88.    LongWord when; /* ticks since startup */
  89.    Point where; /* mouse location */
  90.    Word modifiers; /* modifier flags */
  91.    LongWord wmTaskData; /*  */
  92.    LongWord wmTaskMask; /*  */
  93.    LongWord wmLastClickTick; /*  */
  94.    Word wmClickCount; /*  */
  95.    LongWord wmTaskData2; /*  */
  96.    LongWord wmTaskData3; /*   */
  97.    LongWord wmTaskData4; /*   */
  98.    Point wmLastClickPt; /*   */
  99. } ;
  100. typedef struct EventRecord EventRecord, *EventRecordPtr, **EventRecordHndl;
  101. struct EventJournalRec {
  102.    Word statusMode;
  103.    Word yLocation;
  104.    Word xLocation;
  105. } ;
  106. typedef struct EventJournalRec EventJournalRec, *EventJournalRecPtr, **EventJournalRecHndl;
  107. extern pascal Boolean Button() inline(0x0D06,dispatcher);
  108. extern pascal Word DoWindows() inline(0x0906,dispatcher);
  109. extern pascal void EMBootInit() inline(0x0106,dispatcher);
  110. extern pascal void EMReset() inline(0x0506,dispatcher);
  111. extern pascal void EMShutDown() inline(0x0306,dispatcher);
  112. extern pascal void EMStartUp() inline(0x0206,dispatcher);
  113. extern pascal Boolean EMStatus() inline(0x0606,dispatcher);
  114. extern pascal Word EMVersion() inline(0x0406,dispatcher);
  115. extern pascal Boolean EventAvail() inline(0x0B06,dispatcher);
  116. extern pascal void FakeMouse() inline(0x1906,dispatcher);
  117. extern pascal Word FlushEvents() inline(0x1506,dispatcher);
  118. extern pascal LongWord GetCaretTime() inline(0x1206,dispatcher);
  119. extern pascal LongWord GetDblTime() inline(0x1106,dispatcher);
  120. extern pascal Word GetKeyTranslation() inline(0x1B06,dispatcher);
  121. extern pascal void GetMouse() inline(0x0C06,dispatcher);
  122. extern pascal Boolean GetNextEvent() inline(0x0A06,dispatcher);
  123. extern pascal Boolean GetOSEvent() inline(0x1606,dispatcher);
  124. extern pascal Boolean OSEventAvail() inline(0x1706,dispatcher);
  125. extern pascal Word PostEvent() inline(0x1406,dispatcher);
  126. extern pascal void SetAutoKeyLimit() inline(0x1A06,dispatcher);
  127. extern pascal void SetEventMask() inline(0x1806,dispatcher);
  128. extern pascal void SetKeyTranslation() inline(0x1C06,dispatcher);
  129. extern pascal void SetSwitch() inline(0x1306,dispatcher);
  130. extern pascal Boolean StillDown() inline(0x0E06,dispatcher);
  131. extern pascal LongWord TickCount() inline(0x1006,dispatcher);
  132. extern pascal Boolean WaitMouseUp() inline(0x0F06,dispatcher);
  133. #endif
  134.